package com.pg.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pg.entity.dd.EipPurchaseOrder;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 采购订单 服务类
 * </p>
 *
 * @author likl
 * @since 2020-07-06
 */
public interface EipPurchaseOrderService extends IService<EipPurchaseOrder> {

    /**
     * 查询地图数据
     *
     * @param supplierCode 供应商编码
     * @return 结果集
     */
    List<Map<String, Object>> selectMapData(String supplierCode);

    /**
     * 通过参数查询采购订单
     *
     * @param param          参数
     * @param supplierCode   供应商编码
     * @param sellerSignTime 日期
     * @return 结果集
     */
    List<Map<String, Object>> selectByParam(String param, String supplierCode, Date sellerSignTime);

    /**
     * 统计合同数量
     *
     * @param sellerSignTime 日期
     * @return 结果集
     */
    List<Integer> selectContractStatisticsByDate(Date sellerSignTime);

    /**
     * 统计省份合同数量
     *
     * @param supplierCode   供应商编码
     * @param sellerSignTime 日期
     * @return 结果集
     */
    Map<String, List<Object>> selectContractProvinceTotal(String supplierCode, Date sellerSignTime);

    /**
     * 分页列表参数
     *
     * @param page                分页参数
     * @param eipPurchaseOrder    采购订单
     * @param sellerSignTimeStart 起始时间
     * @param sellerSignTimeEnd   结束时间
     * @return 分页数据
     */
    IPage<EipPurchaseOrder> selectForList(Page<EipPurchaseOrder> page, EipPurchaseOrder eipPurchaseOrder, Date sellerSignTimeStart, Date sellerSignTimeEnd);
}
